Telegram Group & Telegram Channel
Boshiga https://www.tg-me.com/it/Python dasturlash maktabi/com.pythonuz/590

###################

Mavjud bo'lmagan indeks yoki kalitlarni tekshirish uchun umumiy LookupError dan yoki LookupError dan meros bo'lib olingan IndexError, KeyError dan foydalanishingiz mumkin.

x = [1, 2, 3, 4, 5]
try:
print(x[5])
except LookupError as e:
print(f"{e}, {e.class}")

list index out of range, <class 'IndexError'>

# ——————————————-#

lugat = {1: 'one', 2: 'two'}
try:
print(lugat[3])
except LookupError as e:
print(f'{e}, {e.class}')

3, <class 'KeyError'>

###################

Dastur operatsion tizim xotirasidan katta hajmdagi xotirani iste'mol qilganda MemoryError xatoligi paydo bo'ladi.

import numpy
try:
numpy.ones((9999999999,))
except MemoryError as e:
print(e)

Unable to allocate 74.5 GiB for an array with shape (9999999999,) and data type float64
###################

Noto'g'ri yozilgan funksiya nomi yozilganda dastur NameError xatoligini qaytaradi.

try:
prin('Hello')
except NameError as e:
print(e, e.class)

name 'prin' is not defined <class 'NameError'>

# ——————————————-#
Mavjud bo'lmagan o'zgaruvchi yozilganda dastur NameError xatoligini qaytaradi.

try:
var = 42
print(war)
except NameError as e:
print(e, e.class)

name 'war' is not defined <class 'NameError'>

# ——————————————-#
O'zgaruvchisi biror tur/qiymatga ega bo'lmagan funksiyaga murojaat qilinganda dastur UnboundLocalError xatoligini qaytaradi.

def func():
x += 1
print(x)


func()

UnboundLocalError: local variable 'x' referenced before assignment

###################

Dastur ishga tushirilganda dasturlash tili qoidalariga amal qilinmaganda (sintaksis xatolar bo'lsa) SyntaxError xatoligini qaytaradi.Keraksiz joyda nuqta, vergul, bo'sh joy, operator yoki funksiyalar nomini xato yozish, ochilmay yoki yopilmay qolgan qavs, ikkitirnoq yoki birtirnoqlar, o'zgaruvchilarga noto'g'ri nom berish SyntaxError ga misol bo'la oladi.

len() = 5

SyntaxError: cannot assign to function call

# ——————————————-#

fro i in range(10):
print(i)

SyntaxError: invalid syntax

# ——————————————-#

Kod bloklarida noto'g'ri yozilgan bo'sh joylar IndentationError xatoligini qaytaradi.

num = 5
if num == 5:
print('ok')

IndentationError: expected an indented block

# ——————————————-#

Yorliqlar va bo'shliqlardan noto'g'ri foydalanganda dastur TabError xatoligini qaytaradi

rating_range = 1
for row in range(6):
if 200 <= 199:
rating_range += 1
print(rating_range)

TabError: inconsistent use of tabs and spaces in indentation

###################

Noto'g'ri ma'lumot turlari ustida amallar bajarilganda dastur TypeError xatoligini qaytaradi.
Quyidagi holatlarda dastur TypeError xatoligini qaytaradi.

——————————————-#

Matn va sonni birlashtirishga uringanda

num  = 42
matn = '-maktab'
print(num + matn)

TypeError: unsupported operand type(s) for +: 'int' and 'str'

——————————————-#

O'zgaruvchini funksiya ko'rinishida chaqirganda

var = 'pythonuz'
print(var())

TypeError: 'str' object is not callable

——————————————-#

Ro'yxat indeksida noto'g'ri ma'lumot turi ko'rsatilganda

royxat = ['pythonuz', 'phpuz']
print(royxat['1'])

TypeError: list indices must be integers or slices, not str

###############

Biror amal yoki funktsiya mos bo'lmagan qiymatga ega bo'lgan argumentni qabul qilganda dastur ValueError xatoligini qaytaradi.

import math
x = -9
try:
print(f'{x} ning kvadrat ildizi {math.sqrt(x)}')
except ValueError as e:
print({e}, {e.class})

{ValueError('math domain error')} {<class 'ValueError'>}

——————————————-#

try:
int('two')
except ValueError as e:
print({e}, {e.class})


{ValueError("invalid literal for int() with base 10: 'two'")} {<class 'ValueError'>}

###############

Python dasturlash tiliga oid savollarni ushbu guruhga yozing @apiuz



tg-me.com/pythonuz/591
Create:
Last Update:

Boshiga https://www.tg-me.com/it/Python dasturlash maktabi/com.pythonuz/590

###################

Mavjud bo'lmagan indeks yoki kalitlarni tekshirish uchun umumiy LookupError dan yoki LookupError dan meros bo'lib olingan IndexError, KeyError dan foydalanishingiz mumkin.

x = [1, 2, 3, 4, 5]
try:
print(x[5])
except LookupError as e:
print(f"{e}, {e.class}")

list index out of range, <class 'IndexError'>

# ——————————————-#

lugat = {1: 'one', 2: 'two'}
try:
print(lugat[3])
except LookupError as e:
print(f'{e}, {e.class}')

3, <class 'KeyError'>

###################

Dastur operatsion tizim xotirasidan katta hajmdagi xotirani iste'mol qilganda MemoryError xatoligi paydo bo'ladi.

import numpy
try:
numpy.ones((9999999999,))
except MemoryError as e:
print(e)

Unable to allocate 74.5 GiB for an array with shape (9999999999,) and data type float64
###################

Noto'g'ri yozilgan funksiya nomi yozilganda dastur NameError xatoligini qaytaradi.

try:
prin('Hello')
except NameError as e:
print(e, e.class)

name 'prin' is not defined <class 'NameError'>

# ——————————————-#
Mavjud bo'lmagan o'zgaruvchi yozilganda dastur NameError xatoligini qaytaradi.

try:
var = 42
print(war)
except NameError as e:
print(e, e.class)

name 'war' is not defined <class 'NameError'>

# ——————————————-#
O'zgaruvchisi biror tur/qiymatga ega bo'lmagan funksiyaga murojaat qilinganda dastur UnboundLocalError xatoligini qaytaradi.

def func():
x += 1
print(x)


func()

UnboundLocalError: local variable 'x' referenced before assignment

###################

Dastur ishga tushirilganda dasturlash tili qoidalariga amal qilinmaganda (sintaksis xatolar bo'lsa) SyntaxError xatoligini qaytaradi.Keraksiz joyda nuqta, vergul, bo'sh joy, operator yoki funksiyalar nomini xato yozish, ochilmay yoki yopilmay qolgan qavs, ikkitirnoq yoki birtirnoqlar, o'zgaruvchilarga noto'g'ri nom berish SyntaxError ga misol bo'la oladi.

len() = 5

SyntaxError: cannot assign to function call

# ——————————————-#

fro i in range(10):
print(i)

SyntaxError: invalid syntax

# ——————————————-#

Kod bloklarida noto'g'ri yozilgan bo'sh joylar IndentationError xatoligini qaytaradi.

num = 5
if num == 5:
print('ok')

IndentationError: expected an indented block

# ——————————————-#

Yorliqlar va bo'shliqlardan noto'g'ri foydalanganda dastur TabError xatoligini qaytaradi

rating_range = 1
for row in range(6):
if 200 <= 199:
rating_range += 1
print(rating_range)

TabError: inconsistent use of tabs and spaces in indentation

###################

Noto'g'ri ma'lumot turlari ustida amallar bajarilganda dastur TypeError xatoligini qaytaradi.
Quyidagi holatlarda dastur TypeError xatoligini qaytaradi.

——————————————-#

Matn va sonni birlashtirishga uringanda

num  = 42
matn = '-maktab'
print(num + matn)

TypeError: unsupported operand type(s) for +: 'int' and 'str'

——————————————-#

O'zgaruvchini funksiya ko'rinishida chaqirganda

var = 'pythonuz'
print(var())

TypeError: 'str' object is not callable

——————————————-#

Ro'yxat indeksida noto'g'ri ma'lumot turi ko'rsatilganda

royxat = ['pythonuz', 'phpuz']
print(royxat['1'])

TypeError: list indices must be integers or slices, not str

###############

Biror amal yoki funktsiya mos bo'lmagan qiymatga ega bo'lgan argumentni qabul qilganda dastur ValueError xatoligini qaytaradi.

import math
x = -9
try:
print(f'{x} ning kvadrat ildizi {math.sqrt(x)}')
except ValueError as e:
print({e}, {e.class})

{ValueError('math domain error')} {<class 'ValueError'>}

——————————————-#

try:
int('two')
except ValueError as e:
print({e}, {e.class})


{ValueError("invalid literal for int() with base 10: 'two'")} {<class 'ValueError'>}

###############

Python dasturlash tiliga oid savollarni ushbu guruhga yozing @apiuz

BY Python dasturlash maktabi




Share with your friend now:
tg-me.com/pythonuz/591

View MORE
Open in Telegram


Python dasturlash maktabi Telegram | DID YOU KNOW?

Date: |

Unlimited members in Telegram group now

Telegram has made it easier for its users to communicate, as it has introduced a feature that allows more than 200,000 users in a group chat. However, if the users in a group chat move past 200,000, it changes into "Broadcast Group", but the feature comes with a restriction. Groups with close to 200k members can be converted to a Broadcast Group that allows unlimited members. Only admins can post in Broadcast Groups, but everyone can read along and participate in group Voice Chats," Telegram added.

If riding a bucking bronco is your idea of fun, you’re going to love what the stock market has in store. Consider this past week’s ride a preview.The week’s action didn’t look like much, if you didn’t know better. The Dow Jones Industrial Average rose 213.12 points or 0.6%, while the S&P 500 advanced 0.5%, and the Nasdaq Composite ended little changed.

Python dasturlash maktabi from it


Telegram Python dasturlash maktabi
FROM USA